package com.one.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.one.bean.Comment;
import com.one.vo.CommentVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @ClassName: CommentMapper
 * @Auther: yph
 * @Date: 2022/1/14 17:04
 * @Description: 评论持久层接口
 */
//@Mapper
public interface CommentMapper extends BaseMapper<Comment> {

    /**
     * @Author: yph
     * @Date: 2022/1/14 19:17
     * @return:
     * @Description: 根据商品id 和 查询条件（是否查询带图评价）查询商品的评价 查处所有主评论
     */
    List<CommentVo> queryCommentsByProductId(@Param("id") Integer id
            , @Param("flag") boolean flag
            , @Param("pageNum") Integer pageNum
            , @Param("pageSize") Integer pageSize);

    /**
     * @Author: yph
     * @Date: 2022/1/14 19:17
     * @return:
     * @Description: 根据父级评论id 查询当前评论下所有的子评论
     */
    List<CommentVo> queryCommentsByParentId(@Param("parentId") Integer parentId);

    /**
     * @Author: yph
     * @Date: 2022/1/14 21:44
     * @return:
     * @Description: 根据商品id 查询商品主评论数量
     */
    Long selectMainCommentCountByProductId(
            @Param("product_id") Integer id
            , @Param("flag") boolean flag);

    /**
     * @Author: yph
     * @Date: 2022/1/14 21:44
     * @return:
     * @Description: 根据商品id 查询商品所有评论数量
     */
    Long selectCommentCountByProductId(
            @Param("product_id") Integer id
            , @Param("flag") boolean flag);
}
